package com.micro.modual.service;

import com.micro.core.frame.service.BasicsService;
import com.micro.core.resp.RespJson;
import com.micro.modual.entity.GoodsSpec;
import com.micro.modual.model.bo.goodsspec.GoodsSpecBO;
import com.micro.modual.model.bo.goodsspec.GoodsSpecExistBO;


/**
*  <h1>商品规格表 属性规格 接口</h1>
 * @author LevelCoder
 * @version V1.0.0
 * @email LevelCoder@126.com
 * @date 2020-08-04 00:11:10
 */
public interface GoodsSpecService extends BasicsService<GoodsSpec,Long>{

    /**
     * <h2>新增商品规格表 属性规格详情</h2>
     * @param goodsSpecBO {@link GoodsSpecBO} 商品规格表 属性规格 新增/修改 请求对象
     * @return {@link RespJson} 返回结果基础类
     */
    RespJson addGoodsSpec(GoodsSpecBO goodsSpecBO);

    /**
     * <h2>修改商品规格表 属性规格详情</h2>
     * @param goodsSpecBO  {@link GoodsSpecBO} 商品规格表 属性规格 新增/修改 请求对象
     * @return {@link RespJson} 返回结果基础类
     */
    RespJson editGoodsSpec(GoodsSpecBO goodsSpecBO);

    /**
     * <h2>根据主键编号删除商品规格表 属性规格信息</h2>
     * @param id  商品规格表 属性规格 主键编号
     * @return  {@link RespJson} 返回结果基础类
     */
    RespJson deleteGoodsSpec(Long id);

    /**
     * <h2>﻿校验规格名是否存在</h2>
     * @param goodsSpecExistBO {@link GoodsSpecExistBO}
     * @return {@link RespJson} 返回结果基础类
     */
    RespJson validataSpecNameExist(GoodsSpecExistBO goodsSpecExistBO);
}
